package com.starlink.client.ras.response;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

@NoArgsConstructor
@Data
public class WrapAuditListResponse implements Serializable {
    private static final long serialVersionUID = 157342324693749137L;

    @JsonProperty("records")
    private List<RecordsDTO> records;
    @JsonProperty("total")
    private Integer total;
    @JsonProperty("size")
    private Integer size;
    @JsonProperty("current")
    private Integer current;
    @JsonProperty("orders")
    private List<?> orders;
    @JsonProperty("optimizeCountSql")
    private Boolean optimizeCountSql;
    @JsonProperty("searchCount")
    private Boolean searchCount;
    @JsonProperty("countId")
    private Object countId;
    @JsonProperty("maxLimit")
    private Object maxLimit;
    @JsonProperty("pages")
    private Integer pages;

    @NoArgsConstructor
    @Data
    public static class RecordsDTO {
        @JsonProperty("id")
        private Integer id;
        @JsonProperty("wrapType")
        private String wrapType;
        @JsonProperty("wrapTypeName")
        private String wrapTypeName;
        @JsonProperty("platformId")
        private Integer platformId;
        @JsonProperty("platformName")
        private String platformName;
        @JsonProperty("projectId")
        private Integer projectId;
        @JsonProperty("projectName")
        private String projectName;
        @JsonProperty("companyId")
        private Integer companyId;
        @JsonProperty("companyName")
        private String companyName;
        @JsonProperty("miniProgramName")
        private String miniProgramName;
        @JsonProperty("miniProgramId")
        private Object miniProgramId;
        @JsonProperty("productJumpReAddress")
        private String productJumpReAddress;
        @JsonProperty("wrapSerial")
        private String wrapSerial;
        @JsonProperty("wrapName")
        private String wrapName;
        @JsonProperty("wrapSpecs")
        private String wrapSpecs;
        @JsonProperty("mainImageOfTheWrap")
        private String mainImageOfTheWrap;
        @JsonProperty("associateChannels")
        private Object associateChannels;
        @JsonProperty("certificatePresentation")
        private Object certificatePresentation;
        @JsonProperty("productDetails")
        private String productDetails;
        @JsonProperty("shopId")
        private String shopId;
        @JsonProperty("wrapRules")
        private String wrapRules;
        @JsonProperty("remark")
        private String remark;
        @JsonProperty("attributionId")
        private Integer attributionId;
        @JsonProperty("attributionName")
        private String attributionName;
        @JsonProperty("belongFlag")
        private Integer belongFlag;
        @JsonProperty("auditStatus")
        private String auditStatus;
        @JsonProperty("thirdPartyProductId")
        private Integer thirdPartyProductId;
        @JsonProperty("delFalg")
        private Integer delFalg;
        @JsonProperty("createId")
        private Integer createId;
        @JsonProperty("updateId")
        private Integer updateId;
        @JsonProperty("createTime")
        private String createTime;
        @JsonProperty("updateTime")
        private String updateTime;
        @JsonProperty("btnTitleA")
        private String btnTitleA;
        @JsonProperty("btnTitleARepurchase")
        private String btnTitleARepurchase;
        @JsonProperty("byLike")
        private Object byLike;
        @JsonProperty("originName")
        private Object originName;
        @JsonProperty("origin")
        private Object origin;
        @JsonProperty("list")
        private List<?> list;
    }
}
